const mongoose = require("mongoose");



// 用户表
const UserSchema = new mongoose.Schema({
    // 发布者的openid
    openid: {
        type: String
    },

    // 发布者基本信息
    userInfo: {
        type: Object
    },
    // 发布帖子数量
    postCount: {
        type: Number,
        default: 0
    },
    // 经验信息
    expInfo: {
        totalExp: {
            type: Number,
            default: 0
        },
        dailyExp: {
            type: Number,
            default: 0
        },
        dailyExpLimit: {
            type: Number,
            default: 50
        },
        level: {
            type: Number,
            default: 1
        },
        levelName: {
            type: String,
            default: '见习观察者'
        },
        lastUpdateDate: {
            type: Date,
            default: Date.now
        }
    },
    // 评论点赞记录，键为评论ID，值为true表示已点赞
    commentLikes: {
        type: mongoose.Schema.Types.Mixed,
        default: {}
    },
    // 用户状态：1-正常，0-禁用
    status: {
        type: Number,
        default: 1
    },
    // 注册时间
    createdAt: {
        type: Date,
        default: Date.now
    },
    // 最后登录时间
    lastLoginAt: {
        type: Date,
        default: Date.now
    },
    // 是否为管理员
    isAdmin: {
        type: Boolean,
        default: false
    },
    // 是否为超级管理员（系统唯一）
    isSuperAdmin: {
      type: Boolean,
      default: false,
      index: true
    }
});

module.exports = mongoose.model('User', UserSchema);


